iT邦幫忙

2022 iThome 鐵人賽

DAY 5
1

大家口中說的Restful API到底是什麼呢?

簡單來說,就是符合REST(Representational State Transfer)原則的API架構,主要是根據不同的method來對同一件事情做不同的操作,藉此來規範API

  • REST 不是架構,是一種約束的風格
State : data
Representational: XML, JSON, YAML, HTML, etc
Transfer: 在server&client 端透過HTTP協定傳輸data

不囉唆先來個應用方式範例!

  • 一般設計API

    • 取得冰塊資料: GET /api/getIces
    • 新增冰塊資料: POST /api/CreateIces
    • 刪除冰塊資料: POST /api/DeleteIces or DELETE /api/ices/delete
    • 更新冰塊資料: POST /api/UpdateIces or PUT /api/ices/update
  • RESTFUL API

Method 說明 範例(取得冰塊為例)
GET 取得資料 /api/ices
POST 新增資料 /api/ices
PUT 新增、更新指定資料 /api/ices/:iceid
DELETE 刪除指定資料 /api/ices/:iceid
PATCH 更新指定資料 /api/ices/:iceid
  • 這邊比較特別的是POST PUT PATCH 的區別,資料參考

    POST: 定義上屬於將原先沒有的資料去做一筆新增的動作
    PUT: 定義上屬於利用更新的方式於"指定位置"新增一項資料
    PATCH: 定義上屬於在現有資料中新增或是更新資料

  • 常見名詞

    • base url: 是由schemes, host, basePath所構成
    • endpoints: 特定位置的名稱,舉上面為例就是 /api/ices
    • parameters: 參數,query parameter,舉上面為例就是 /:iceid

今天是用實際應用方式一目瞭然跟一般API的撰寫上的差別,包含部分概念,下一篇會接續說明到底什麼是REST特色?

參考資料:

  1. Roy Thomas Fielding博士於2000年的博士論文
  2. [筆記] REST 到底是什麼
  3. 圖片來源swagger官方文件

上一篇
[Day4] Linux 排程工具 Crontab,也有Docker 的範例喔
下一篇
[Day6] 簡單搞懂Restful API設計風格(下)
系列文
剛入職軟體工程師會需要知道的常見工具篇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言